package com.ruoyi.plan.service.impl;

import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.plan.domain.NoticePlan;
import com.ruoyi.plan.mapper.NoticePlanMapper;
import com.ruoyi.plan.service.INoticePlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;
/**
 * @author MLYNDHG
 * @version 1.0
 * @description 计划通知Service业务层处理
 * @date 2023/12/18 14:46
 */

@Service
public class NoticePlanServiceImpl implements INoticePlanService
{
 @Autowired
 private NoticePlanMapper noticePlanMapper;

 /**
  * 随机查询计划通知
  *
  * @return 计划通知
  */
 @Override
 public List<NoticePlan> selectNoticePlanRandom()
 {
  Long userId = SecurityUtils.getUserId();
  return noticePlanMapper.selectNoticePlanRandom(userId);
 }

 /**
  * 查询计划通知
  *
  * @param id 计划通知主键
  * @return 计划通知
  */
 @Override
 public NoticePlan selectNoticePlanById(Long id)
 {
  return noticePlanMapper.selectNoticePlanById(id);
 }

 /**
  * 查询计划通知列表
  *
  * @param noticePlan 计划通知
  * @return 计划通知
  */
 @Override
 public List<NoticePlan> selectNoticePlanList(NoticePlan noticePlan)
 {
  noticePlan.setUid(SecurityUtils.getUserId());
  return noticePlanMapper.selectNoticePlanList(noticePlan);
 }

 /**
  * 新增计划通知
  *
  * @param noticePlan 计划通知
  * @return 结果
  */
 @Override
 public int insertNoticePlan(NoticePlan noticePlan)
 {
  noticePlan.setUid(SecurityUtils.getUserId());
  // 创建一个java.util.Date对象，表示当前日期和时间
  Date date = new Date();
  // 创建一个java.sql.Date对象，表示当前日期
  Date sqldate = new Date(date.getTime());
  noticePlan.setCreateDate(sqldate);
  return noticePlanMapper.insertNoticePlan(noticePlan);
 }

 /**
  * 修改计划通知
  *
  * @param noticePlan 计划通知
  * @return 结果
  */
 @Override
 public int updateNoticePlan(NoticePlan noticePlan)
 {
  return noticePlanMapper.updateNoticePlan(noticePlan);
 }

 /**
  * 批量删除计划通知
  *
  * @param ids 需要删除的计划通知主键
  * @return 结果
  */
 @Override
 public int deleteNoticePlanByIds(Long[] ids)
 {
  return noticePlanMapper.deleteNoticePlanByIds(ids);
 }

 /**
  * 删除计划通知信息
  *
  * @param id 计划通知主键
  * @return 结果
  */
 @Override
 public int deleteNoticePlanById(Long id)
 {
  return noticePlanMapper.deleteNoticePlanById(id);
 }
}
